فولتية تماثلية متغيرة باستخدام الآردوينو
شرح لطريقة بسيطة يمكن من خلالها الحصول على فولتية DC متغيرة من الآردوينو.
تعرفنا في دروس سابقة إلى PWM و مبدأ عمله و طريقة استخدامه في الاردوينو كما شاهدنا بأن الفولتية الخارجة منه في النبضة الواحدة تكون بمستويين مختلفين لكن بمعدل ثابت. إن هذا التغير السريع في قيمة الفولتية قد يسبب مشاكل في بعض أنواع الأحمال كالمحركات مثلا وقد يسبب تلف لدائرة السيطرة أيضاً. لنتعرف الآن إلى طريقة بسيطة يمكن من خلالها الحصول على فولتية تكون قيمتها مساوية تقريبا إلى معدل الفولتية المطلوب, أي إن قيمة الفولتية لا تتغير بين الصفر و القيمة العظمى كما في طريقة PWM . كما يمكن الحصول على فولتيات اعلى بكثير من فولتية الآردوينو باستخدام هذه الطريقة.
لنتعرف في البداية إلى الدائرة التي سيتم ربطها إلى الآردوينو و طريقة عملها
إن قاعدة الترانزستور Q2 (من نوع NPN) مربوطة إلى المخرج رقم 3 في الآردوينو عن طريق مقاومة لذلك فعندما تكون فولتية المخرج 3 في الآردوينو مساوية إلى صفر فولت لن يمر أي تيار من القاعدة إلى الباعث مما يجعل التيار المار في الجامع صفر أمبير لأن الترانزستور سيكون بانحياز عكسي. بالتالي فإن الترانزستور Q1 لن يسمح بمرور التيار إلى الحمل لأن تيار القاعدة يساوي صفر أيضا.
أما في حالة أصبحت فولتية المخرج رقم 3 في الآردوينو 5 فولت, فإن الترانزستور Q2 سوف يسمح للتيار بالمرور من الجامع إلى الباعث, مما يؤدي إلى مرور تيار من الباعث إلى القاعدة في الترانزستور Q1 (من نوع PNP أي إن التيار يمر من الباعث إلى القاعدة للحصول على انحياز أمامي). بمرور التيار من باعث Q1 إلى قاعدته, سيمر تيار من باعث Q1 إلى الجامع أيضا, ثم إلى الحمل المربوط عليه مما سيسبب ارتفاع الفولتية. إن وجود المتسعة C1 يعمل على عدم السماح للفولتية بالارتفاع أو الانخفاض بشكل سريع (Low Pass Filter).
للسيطرة على مستوي الفولتية على الحمل, نقوم بقياس تلك الفولتية عن طريق ربطها إلى المدخل التماثلي A1 في الاردوينو. يقوم الاردوينو بقطع التيار المار من الترانزستور Q1 عن طريق تغيير قيمة المخرج رقم 3 إلى الصفر. يفضل استخدام مصدر فولتية منفصل عن الآردوينو بمستوى فولتية اعلى للتعويض عن انخفاض الفولتية في الترانزستور. كما يمكن السيطرة على فولتيات عالية من خلال استخدام مقاومتين على التوالي (قانون تقسيم الفولتية Voltage Devider) وأخذ عينة من الفولتية بحيث تكون قيمة الفولتية الداخلة إلى الآردوينو 5 فولت عندما تكون الفولتية على الحمل عند الحد الأعلى المطلوب.
لنقوم الآن بكتابة برنامج في اللآردوينو يقوم بالسيطرة على فولتية المحرك تبعا إلى فولتية مقاومة متغيرة مربوطة إلى المدخل التماثلي A0. يقوم البرنامج في البداية بقياس فولتية المدخل A1 ثم يقارنها بفولتية المدخل A0, إذا كانت الفولتية على المحرك A1 اقل من الفولتية المطلوبة, سيقوم الآردوينو برفع فولتية المخرج رقم 3 مما يتسبب بمرور التيار عبر الحمل, إلى أن تصل الفولتية على الحمل إلى قيمة الفولتية المطلوبة, ثم يقوم الآردوينو بقطع التيار عن الحمل. إن سرعة الآردوينو في قياس الفولتية و تشغيل و إطفاء المخرج رقم 3 تجعل الفولتية على الحمل تتغير بنسبة قليلة جدا. للحصول على فولتية اكثر استقرار, يمكن استخدام متحكمات اسرع من الاردوينو. سيكون برنامج الآردوينو بالشكل التالي
void setup() {
Serial.begin(9600);
pinMode(3, OUTPUT);
}
void loop() {
int VI;
int VO;
VI = analogRead(0);
VO = analogRead(1);
while (VO<VI)
{
VO = analogRead(1);
VI = analogRead(0);
digitalWrite(3,HIGH);
}
digitalWrite(3,LOW);
}
يمكنك مشاهدة نتائج التجربة و شكل الموجة الناتجة في الفيديو التالي
تلاحظ من الفيديو إن الفولتية تتغير بمقدار قليل جدا و لا تصل إلى الصفر أبداً وقد تكون اقرب إلى الفولتية المستمرة من الفولتية الناتجة من مقومات التيار Bridges. يمكن الاستفادة من هذه الدائرة في السيطرة على المحركات أو أي حمل حساس تجاه التردد و يحتاج إلى فولتية تماثلية متغيرة. تكمن المشكلة الوحيدة في هذه الطريقة إلى ضرورة تشغيل متحكم خاص فقط بها لأن قيام المتحكم بوظائف اخرى سيتسبب بتغيرات اكبر في الفولتية.